package com.xiaozhi.module.iot.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xiaozhi.common.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serial;

/**
 * 设备实体类
 * @Author weirdor
 * @Description
 * @Date 2025/9/3 14:54
 */
@Data
@Schema(description = "iot 设备")
@TableName(value = "iot_device", autoResultMap = true)
@EqualsAndHashCode(callSuper = true)
public class IotDevice extends BaseEntity<IotDevice> {

    @Serial
    private  static final long serialVersionUID = 1L;

    @Schema(description = "设备ID")
    @TableId(value = "device_id", type = IdType.INPUT)
    private String deviceId;

    @Schema(description = "设备名称")
    private String deviceName;

    @Schema(description = "用户ID")
    private String userId;

    @Schema(description = "角色ID")
    private String roleId;

    @Schema(description = "设备状态（1-未激活，2-禁用，3-在线，4-离线）")
    private Integer status;

    @Schema(description = "wifi名称")
    private String wifiSsid;

    @Schema(description="信号强度（ 信号极好4格[-55— 0]， 信号好3格[-70— -55]， 信号一般2格[-85— -70]， 信号差1格[-100— -85]）")
    private Integer wifiRssi;

    @Schema(description = "芯片型号")
    private String chipModelName;

    @Schema(description = "设备类型")
    private String boardType;

    @Schema(description = "设备名称")
    private String boardName;

    @Schema(description = "设备mac地址")
    private String boardMac;

    @Schema(description = "固件版本")
    private String version;

    @Schema(description = "设备IP地址")
    private String boardIp;

}
